package com.kymatrix.kycarbon.xsmd.system.server.model.form.user;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.ArrayList;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author liujie
 * @date 2024-03-02
 */
@ApiModel("查询用户权限请求返回")
@Data
public class QueryUserAuthResp {

    @ApiModelProperty(value = "用户id")
    private String id;

    @ApiModelProperty(value = "用户名称")
    private String username;

    @ApiModelProperty(value = "手机号")
    private String phone;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "角色信息列表")
    List<RoleInfo> roleInfoList = new ArrayList<>();
    
    @ApiModelProperty(value = "模块信息列表")
    List<ModuleInfo> moduleInfoList = new ArrayList<>();
    
    
    @ApiModel(value = "角色信息")
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class RoleInfo {
        @ApiModelProperty(value = "角色id")
        private String id;
        @ApiModelProperty(value = "角色名称")
        private String name;
    }

    @ApiModel(value = "模块信息")
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class ModuleInfo {
        @ApiModelProperty(value = "模块id")
        private String id;
        @ApiModelProperty(value = "模块名称")
        private String name;
        @ApiModelProperty(value = "模块路径")
        private String path;
        @ApiModelProperty(value = "图标")
        private String icon;
        @ApiModelProperty(value = "排序")
        private Integer sortNo;
        @ApiModelProperty(value = "父id")
        private String parentId;
        @ApiModelProperty(value = "type ModuleType")
        private String type;
    }
    
    
}
